package so.sao.shop.supplier.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;

/**
 * <p>
 * 订单详情
 * </p>
 *
 * @author 透云-中软-西安项目组
 * @since 2017-07-21
 */
public class PurchaseItemVo {
    /**
     * 详情ID
     */
    private BigInteger detailsId;
    /**
     * 商品属性
     */
    @NotEmpty(message = "商品属性不能为空")
    private String goodsAttribute;
    /**
     * 商品编号
     */
    @NotNull(message = "商品编号不能为空")
    private Long goodsId;

    /**
     * 商品条码
     */
    private String code69;

    /**
     * 商品数量
     */
    @NotNull(message = "商品数量不能为空")
    private Integer goodsNumber;
    /**
     * 商品总价
     */
    private BigDecimal goodsTatolPrice;
    /**
     * 商品图片
     */
    private String goodsImage;
    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 品牌名称
     */
    private String brandName;
    /**
     * app订货价（商品单价）
     */
    private BigDecimal goodsUnitPrice;
    /**
     * 优惠金额
     */
    private BigDecimal goodsDiscount;
    /**
     * 是否退换货
     */
    private Integer type;
    /**
     * 退款金额
     */
    private BigDecimal returnMoney;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 订单ID
     */
    private String orderId;
    /**
     * 退款原因
     */
    private String returnReason;
    /**
     * 商品成本价
     */
    private BigDecimal goodsCostsPrice;
    /**
     * 退/换货单号
     */
    private String returnNumber;

    /**
     * 审核时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
    private Date checkTime;

    public BigInteger getDetailsId() {
        return detailsId;
    }

    public void setDetailsId(BigInteger detailsId) {
        this.detailsId = detailsId;
    }

    public String getGoodsAttribute() {
        return goodsAttribute;
    }

    public void setGoodsAttribute(String goodsAttribute) {
        this.goodsAttribute = goodsAttribute;
    }

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public String getCode69() {
        return code69;
    }

    public void setCode69(String code69) {
        this.code69 = code69;
    }

    public Integer getGoodsNumber() {
        return goodsNumber;
    }

    public void setGoodsNumber(Integer goodsNumber) {
        this.goodsNumber = goodsNumber;
    }


    public BigDecimal getGoodsTatolPrice() {
        return goodsTatolPrice;
    }

    public void setGoodsTatolPrice(BigDecimal goodsTatolPrice) {
        this.goodsTatolPrice = goodsTatolPrice;
    }


    public String getGoodsImage() {
        return goodsImage;
    }

    public void setGoodsImage(String goodsImage) {
        this.goodsImage = goodsImage;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public BigDecimal getGoodsUnitPrice() {
        return goodsUnitPrice;
    }

    public void setGoodsUnitPrice(BigDecimal goodsUnitPrice) {
        this.goodsUnitPrice = goodsUnitPrice;
    }

    public BigDecimal getGoodsDiscount() {
        return goodsDiscount;
    }

    public void setGoodsDiscount(BigDecimal goodsDiscount) {
        this.goodsDiscount = goodsDiscount;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public BigDecimal getReturnMoney() {
        return returnMoney;
    }

    public void setReturnMoney(BigDecimal returnMoney) {
        this.returnMoney = returnMoney;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getReturnReason() {
        return returnReason;
    }

    public void setReturnReason(String returnReason) {
        this.returnReason = returnReason;
    }

    public BigDecimal getGoodsCostsPrice() {
        return goodsCostsPrice;
    }

    public void setGoodsCostsPrice(BigDecimal goodsCostsPrice) {
        this.goodsCostsPrice = goodsCostsPrice;
    }

    public String getReturnNumber() {
        return returnNumber;
    }

    public void setReturnNumber(String returnNumber) {
        this.returnNumber = returnNumber;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }
}
